BACK TO PROJECTS
P03 / AUTONOMOUS FLIGHT / CONTROL

Vision-Based
Precision Landing.

Autonomous landing on a moving platform using visual detection, motion prediction, and closed-loop flight control.

PLATFORM Parrot Mambo
DEVELOPMENT MATLAB / Simulink
CONTROL Stateflow + Position Correction
OBJECTIVE Moving-Platform Landing
THE CHALLENGE

Landing on a target
that doesn't stand still.

Landing on a moving platform requires the drone to detect, track, predict, and coordinate its descent with the motion of the target.

The objective of this project was to program a Parrot Mambo mini drone to autonomously land on a moving line-following robot using vision-based detection and position prediction in Simulink. The system needed to identify a green landing pad, determine when to begin descent, and continuously adjust the drone's position as the platform moved beneath it.

SYSTEM OVERVIEW

From camera feedback
to landing commands.

The system combines RGB image processing, platform position estimates, Stateflow-based flight sequencing, and corrective position commands. Each stage provides information required by the next stage of the autonomous landing process.

01 / SENSING

RGB Camera

Visual observations of the landing platform.

02 / PERCEPTION

Pad Detection

Green mask, region center, area, and detection flag.

03 / DECISION

Stateflow

Takeoff, forward motion, and landing sequence.

04 / CONTROL

Position Correction

X-Y-Z commands for tracking and descent.

PERCEPTION

Detecting the
landing platform.

The landing platform was identified through its green-colored pad. A custom MATLAB function, createMask, processed incoming RGB images and converted the green region into a binary mask. The region's center and pixel area were then used to establish a valid platform detection.

01

Color Segmentation

Green pixels were isolated from the RGB camera image to distinguish the landing pad from its surroundings.

02

Region Measurement

The binary mask was used to calculate the center and area of the detected region.

03

Detection Threshold

When the white pixel area exceeded approximately 3,000 pixels, the detection flag was activated.

IMPLEMENTATION DETAIL MATLAB / SIMULINK
Processing functioncreateMask
Detection outputtargetdetectflag
Area threshold~3000 pixels
Landing enableModified OR block

The detection flag was routed through a modified OR block in the Landing Enable submodel, allowing the visual detection stage to initiate the descent sequence.

FLIGHT CONTROL

Sequencing autonomous
flight behavior.

Stateflow was used to organize the landing mission into three primary flight states. This made the transition from takeoff to forward motion and landing explicit, while allowing detection and position information to influence the active behavior.

01
INITIAL STATE

TakeOff

The drone ascends to the commanded altitude of 1.1 meters.

02
TRACKING STATE

MoveForward

The drone follows the line while receiving platform detection and position estimates.

03
FINAL STATE

Land

The drone initiates descent when the platform detection and landing logic permit the transition.

The control logic continuously received xestimate, yestimate, and platform detection flags. The position controller was modified to generate corrective xout, yout, and zout commands, enabling the drone to adjust its trajectory during the landing process.

MOTION PREDICTION

Timing the descent
to match the target.

A moving landing pad cannot be treated as a fixed point. The system therefore incorporated X-Y position prediction to estimate the platform's future position and determine when descent should begin. This allowed the drone to coordinate its landing with the platform's motion rather than reacting only to its current location.

CONTROL LOGIC

Estimate → Predict → Correct

Platform position estimates and velocity information were used to time the landing maneuver and issue X-Y-Z corrections.

~0.15–0.2 m/s Platform velocity considered in the landing logic

The prediction logic was designed so descent began at an appropriate moment to land before or at the end of the line, based on the line-following robot's velocity.

RESULTS & INSIGHTS

Closing the loop
from vision to landing.

The integrated system successfully detected the RGB landing platform, coordinated its motion with the moving robot, and initiated descent using the Stateflow landing sequence and position correction logic.

Platform Detection

The onboard vision system identified the green landing pad and provided the detection signal for the landing sequence.

Motion Coordination

Position estimates and prediction logic supported alignment with the moving platform.

Successful Descent

Landing was completed once altitude dropped below 0.2 meters while alignment was maintained.

DEMONSTRATIONS

See the system
in motion.

The following demonstrations show the forward tracking phase and the final moving-platform landing sequence.

DEMONSTRATION 01

Forward Path Tracking

The drone locks onto and follows the visual guide line during the forward motion phase.

DEMONSTRATION 02

Moving-Platform Landing

Timed descent using Stateflow logic and real-time position correction to land on the moving platform.

RESOURCES

Explore the
implementation.

View the source repository or read the complete project report for additional implementation details.

Have a robotics
challenge in mind?

I'm interested in opportunities involving autonomous systems, robotics software, controls, simulation, and real-world deployment. If you're building something ambitious, I'd be glad to connect.

dheerajcnv@gmail.com